Self-healing in a storage system

ABSTRACT

A storage system such as a hard disc drive (HDD), solid-state drive (SSD), hybrid drive (SSHD), storage rack, set of storage racks, JBOD, array of discs, etc. may include a variety of storage media. Failures may be detected in the storage media of the storage system. Such a failure may affect the physical capacity of the storage system. A storage controller of the storage system initiates a media conversion that converts a portion of the storage media from media storing data according to a first recording scheme to a media storing data according to a second recording scheme. The second recording scheme stores data at a higher density compared to the first recording scheme.

BACKGROUND

Storage systems may include a variety of storage devices and storagemedia including hard disc drives (HDDs), solid-state drives (SSDs),hybrid drives (e.g., SSHDs), and combinations thereof. Defects orfailures may occur in the storage system. To repair the storage system,discs, one or more HDDs, or SSDs, etc. may have to be replaced or thesystem may have reduced storage capacity and/or performance, which canbe costly to a consumer, manufacturer, etc.

SUMMARY

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used to limit the scope of the claimed subject matter. Otherfeatures, details, utilities, and advantages of the claimed subjectmatter will be apparent from the following, more particular writtenDetailed Description of various implementations as further illustratedin the accompanying drawings and defined in the appended claims.

In at least one implementation, a method includes detecting a defect ina storage system causing a loss in physical storage capacity of thestorage system, the storage system including a storage media storingdata according to a first recording scheme; and responsive to detectingthe defect, converting at least a portion of the storage media to asecond recording scheme, the second recording scheme storing data at asubstantially higher storage density than a storage density of the firstrecording scheme.

These and various other features and advantages will be apparent from areading of the following Detailed Description.

BRIEF DESCRIPTIONS OF THE DRAWINGS

FIG. 1 illustrates an example storage system configured forself-healing.

FIG. 2 illustrates an example mapping scheme for a storage systemconfigured for self-healing.

FIG. 3 illustrates another example mapping scheme for a storage systemconfigured for self-healing.

FIG. 4 illustrates another example storage system configured forself-healing.

FIG. 5 illustrates another example storage system configured forself-healing.

FIG. 6 illustrates another example storage system configured forself-healing.

FIG. 7 illustrates example operations for self-healing in a storagesystem.

FIG. 8 illustrates example operations for media conversion forself-healing in a storage system.

FIG. 9 illustrates example operations for utilizing a mapping scheme formedia conversion.

FIG. 10 illustrates an example schematic of a storage controller of astorage device.

DETAILED DESCRIPTION

Storage systems may include a single disc, a number of discs, flashstorage, etc. as storage media. The storage media may be expressed inone or more devices (e.g., hard disc drives (HDDs) or solid-state drives(SSDs)) or a number of HDDs and/or SSDs, a JBOD, a storage rack, set ofstorage racks, etc. A failure or defect in one or more storage media ofsuch a storage system may compromise the capacity of the storage system.Instead of replacing the failed/defected media or device housing thefailed/defected media, implementations described herein provide forself-healing in a storage system that substantially maintains thestorage system capacity and/or performance without replacing media ordevices. Such self-healing may include selecting at least a portion ofthe storage media (e.g., a non-defected portion of the defected mediumor another storage medium or media) to convert from a first recordingscheme to a second recording scheme. The second recording scheme storesdata at a substantially higher density than the first recording scheme.For example, if the defected/failed medium is a portion of a singledisc, then another portion of the disc may be converted from aconventional magnetic recording (CMR) scheme to shingled magneticrecording (SMR) scheme. Such conversion may maintain a logical capacityof the storage device presented to the host. In large or high capacitystorage systems, the media conversion may be spread across multipledevices/medias such as to maintain performance standards.

Selection of media to convert may depend on one or more factorsincluding, without limitation, latency of data, type of data, read/writeheat, location of data, amount of media needed to convert, etc. As such,the storage device can select appropriate media to convert whilesubstantially maintaining logical capacity and/or performance parity.Furthermore, conversion operations may utilize media or a portion of themedia in one or more storage media as a cache to stage the conversion.The cache may also be utilized to absorb random writes to a convertedmedia after the media is converted such as to maintain writeperformance.

Logical block address (LBA) mapping schemes may be utilized to monitorand track media conversion for self-healing. For example, someimplementations may utilize two LBA mapping schemes. One LBA mappingscheme may correspond to a mapping when the storage media stores dataaccording to the first recording scheme. The other LBA mapping schememay correspond to a mapping when the storage media stores data accordingto the second recording scheme. As such, after the media is converted,the other LBA mapping scheme may be utilized to track and directreads/writes to the converted media.

Such implementations may be utilized to delay or avoid replacement ofmedia and/or devices in storage systems, which is a value proposition indata centers or other organizations in a total cost of ownership (TCO)viewpoint. Furthermore, reliability and longevity of such storagesystems is increased. The above described implementations and otherimplementations are described further below with respect to the figures.

The storage system may have FIG. 1 illustrates an example storage system100 configured for self-healing. Specifically, FIG. 1 illustrates thestorage system 100 as a disc drive assembly. The storage system includes100 a transducer head 108 with a writer and reader. The transducer head108 may include a number of read and write configurations such asheat-assisted magnetic recording (HAMR), multiple read and/or writeheads, etc. Although other implementations are contemplated, the storagesystem 100 includes a magnetic storage medium 102 as a magnetic disc onwhich data bits can be recorded using a magnetic write pole and fromwhich data bits can be read using a magneto-resistive element (notshown). As illustrated in view A, the magnetic storage medium 102 is amagnetic storage disc that rotates about a spindle center or disc axisof rotation 112. The magnetic storage medium 102 includes an innerdiameter 104 and an outer diameter 105 between which are a number ofconcentric data tracks 110. Information may be written to and read fromdata bit locations in the concentric data tracks 110 on the magneticstorage medium 102. The magnetic storage medium 102 may include a numberof servo sectors (not shown) for head storing head position information.The magnetic storage medium 102 may further include parity sectorsproviding error correction code.

The transducer head 108 is mounted on an actuator assembly 106 at an enddistal to an actuator axis of rotation 114. The transducer head 108flies in close proximity above a surface of the magnetic storage medium102 during disc rotation. The actuator assembly 106 rotates during aseek operation about the actuator axis of rotation 114. The seekoperation positions the transducer head 108 over a target data track forread and write operations.

The storage system 100 further includes a storage controller 107. Thestorage controller 107 includes software and/or hardware and may beimplemented in any tangible processor-readable storage medium within orcommunicatively coupled to the storage system 100. “Tangibleprocessor-readable storage media” includes, but is not limited to, RAM,ROM, EEPROM, flash memory or other memory technology, CDROM, digitalversatile disks (DVD) or other optical disk storage, magnetic cassettes,magnetic tape, magnetic disk storage or other magnetic storage devices,or any other tangible medium which can be used to store the desiredinformation and which can be accessed by a processor. In contrast totangible processor-readable storage media, intangible processor readablecommunication signals may embody processor readable instructions, datastructures, program modules or other data resident in a modulated datasignal, such as a carrier wave or other signal transport mechanism. Theterm “modulated data signal” means a signal that has one or more of itscharacteristics set or changed in such a manner as to encode informationin the signal.

The concentric data tracks 110 may be written to the magnetic storagemedium 102 using a conventional magnetic recording (CMR) scheme, asillustrated in view B. In view B, a band 150 of data tracks 130 arewritten to the magnetic storage medium 102. The data tracks 130 includea plurality of polarized regions (not shown), also referred to as “databits,” each representing one or more individual track bits of the samestate (e.g., 1s or 0s). Each track in a CMR band is randomly writable,meaning that any data track 130 may be rewritten without significantlyaffecting an adjacent data track. It should be understood that the band150 of the data tracks 130 is for illustrative purposes that an exampleband may include more than three tracks.

A host device (not shown) may be communicatively coupled to the storagesystem 100 and may direct reads and writes to logical block addresses(LBAs) (not shown) that represent the logical storage capacity of thestorage system 100. The LBAs may be managed by the storage controller107 or by a host device connected to the storage system 100. If thecapacity of the storage system 100 is 1 TB, for example, then the rangeof LBAs are usable to address host data to different portions of the 1TB space. In the illustrated implementation, a defect 120 is detected onthe surface of the magnetic storage medium 102. The illustrated defect120 is a scratch, but it should be understood that other defects may bedetected. The defect 120 compromises the storage capacity of the storagesystem 100. Specifically, the defect 120 renders a number of concentricdata tracks 110 unusable to store data. As such, the storage system 100may not be usable to store 1 TB of data, as represented by the LBAs.

Defects may be detected because of one or more unreadable sectors, anumber of unreadable sectors above a threshold, noisy data, etc.Furthermore, after detecting unrecoverable data or another issue, thestorage controller 107 may direct the device to perform a self-test. Theself-test may reveal the failure domain (e.g., location ofdefect/failure) on a storage medium (e.g., the magnetic storage medium102). The domain may be on all sectors of a surface, sectors at a radialstroke of the actuator assembly 106, all sectors of a track, a band oftracks, a disc surface (e.g., one side of a disc), a platter, blocks ofa flash (see FIG. 6), etc.

To rectify for the lost capacity due to the detected defect 120, thestorage system 100 (e.g., via the storage controller 107) may initiate adata rewrite on the magnetic storage medium 102. In the illustratedimplementations, the band of data tracks 130 of view B may be rewrittenusing an enhanced capacity recording scheme as illustrated in view C.Specifically, view C illustrates data tracks 132, 134, 136, 138, and 140written using a shingled magnetic recording scheme (SMR). The datatracks 132-140 are written in order from 132 to 140 in an overlappingmanner, which acts to increase the number of tracks written per radialinch of the magnetic storage medium 102. Because there are more trackswritten per radial inch (in view C), the capacity of the magneticstorage medium 102 may be increased to account for the defect 120.

Thus, when a defect, such as the defect 120, is detected on a storagemedium (e.g., the magnetic storage medium 102) that affects the logicalstorage capacity of a storage system (e.g., the storage system 100),another portion of the storage medium (or another storage medium) may beselected for media conversion to a enhanced capacity recording scheme tomaintain the storage capacity. Selection of a storage medium (or aportion of a storage medium) to convert to the enhanced capacity schememay be based on a number of factors including, without limitation,latency of data, read heat, write heat, type of data, location, etc. Inone example, a band of data tracks near the inner diameter 104 of themagnetic storage medium 102 may not be ideal for conversion because sucha conversion may not increase the capacity enough to maintain thelogical capacity (e.g., because tracks near the inner diameter 104 havea lower capacity compared to data tracks closer to the outer diameter105). In another implementation, the data tracks at mid-stroke orzero-skew (e.g., of the write head) may be selected for conversionbecause such tracks may hold more data. These and other selectioncriterion are discussed below with respect to FIG. 4.

A cache may be used when converting (e.g., rewrite) a storage medium ora portion thereof from a conventional recording scheme to a highcapacity recording scheme (e.g., SMR). For example, data tracks 130 ofview B may be read from the magnetic storage medium 102, written to acache, then rewritten to the magnetic storage medium 102 using theenhanced capacity recording scheme, as illustrated by the data tracks132-140 in View C. The cache may be a flash (not shown) or othernon-volatile medium of the storage system or may be a portion of themagnetic storage medium 102, such as a media cache (not shown) or othervolatile cache.

The cache used to convert and move data of the storage media may be amedia cache (media designated for over provisioning) or a portionthereof. For example, an 8 TB HDD may include a 50 GB media cache. If100 GB of the 8 TB HDD is to be converted from CMR to SMR, 5 GB of the50 GB media cache may be used as a “staging area” for conversion.Furthermore, the 5 GB of the 50 GB media cache may also be used toabsorb write accesses to the converted media to maintain performance.However, if read/write commands increase for the converted media andharms performance, the portion of the media cache used for write commandabsorption may be increased. Furthermore, the portion of the media cacheused during conversion may be increased as more media is selected forconversion. Such implementations provide a balance between performanceand over provisioning.

Furthermore, media conversion to a high capacity recording schemerequires remapping of LBA space. Such remapping may be realized by thestorage controller 107 or the host device. In some implementations,multiple LBA ranges may be used to map the storage capacity, withdifferent LBA ranges associated with different recording schemes. Forexample, a first LBA range may be used to map data to the magneticstorage medium 102 when the data is recorded using a conventionalrecording scheme. A second LBA range may be used to map data to themagnetic storage medium 102 when the data is recorded using the enhancedcapacity recording scheme.

FIG. 1 is illustrated using SMR as the enhanced capacity recordingscheme (e.g., view C), but it should be understood that other enhancedcapacity recording schemes may be used. For example, interlaced magneticrecording (IMR) may be utilized as the enhanced capacity recordingscheme to account for detected defects in the magnetic storage medium102.

FIG. 2 illustrates an example mapping scheme 202 for a storage system200 configured for self-healing. The storage system 200 includes amagnetic storage medium 204 with a storage capacity 206. The storagecapacity 206 is initially mapped using a set of conventional magneticrecording (CMR) logical block addresses (LBAs) (“CMR LBAs 208”). Whenthe magnetic storage medium 204 stores data according to a conventionalrecording scheme, the storage capacity 206 is 10 TB, which is reflectedin the range of CMR LBAs 208 (0 TB-10 TB). It should be understood thatthe designated capacities are for illustrative purposes, and that otherstorage capacities may be similarly mapped. When the magnetic storagemedium 204 stores data according to an enhanced capacity recordingscheme, such as shingled magnetic recording (SMR), then the magneticstorage medium may store up to 12 TB of data, which is reflected in SMRLBAs 210 (10 TB-22 TB). Thus, the mapping scheme 202 includes a range ofLBAs for the storage capacity 206 when storing data using a conventionalrecording scheme (e.g., CMR LBAs 208) and a range of LBAs for thestorage capacity 206 when storing data according to an enhanced capacityrecording scheme (e.g., SMR LBAs 210). In other words, there are 10 TBworth of CMR LBAs and 12 TB worth of SMR LBAs.

In the illustrated mapping scheme 202, a range of LBAs in the CMR LBAs208 and a range of LBAs in the SMR LBAs 210 may be assigned the samepiece of media. For example, a range 212 of the CMR LBAs 208 and a range214 of the SMR LBAs are both assigned to a portion 216 of the storagemedium 204. When the portion 216 is written to, the host (or storagemanager) may designate either the range 212 or the range 214. Thus,initially the host (or storage manager, etc.) may write to the range 212and the data is written to the portion 216 using the conventionalrecording scheme. However, when a defect is detected (e.g., a defect218) in the magnetic storage medium 204 that affects the storagecapacity 206, the portion may be converted to SMR. When the portion 216is converted, the range 214 is used to write (or read) data to theportion 216.

The mapping scheme 202 allows for a fine-grained conversion of themagnetic storage medium. A subset of the CMR LBAs 208 that correspond toa subset of SMR LBAs may be selected for conversion. When selecting asubset of LBAs for conversion, the host (or storage manager, storagecontroller, etc.) may utilize a number of factors including, withoutlimitation, latency of data, read heat, write heat, type of data,location, etc. Such information may be stored in a heat map, flashtranslation layer, etc. which are managed by a storage controller orhost device. It should be understood that interlaced magnetic recording(IMR) or another enhanced capacity recording scheme may be utilized withthe mapping scheme 202 illustrated in FIG. 2. It should also beunderstood that the mapping scheme illustrated in FIG. 2 may be used tomap storage media include one or more disc surfaces (e.g., a HDDincluding a platter of discs), one or more storage devices (e.g., astorage system as illustrated in FIG. 5), etc. Furthermore, the mappingscheme 202 may be utilized for a storage media storing data according totwo or more recording schemes without regard to defect detection orself-healing. It is contemplated that three or more LBA ranges may beutilized to map storage media storing data according to three or morerecording schemes.

FIG. 3 illustrates another example mapping scheme 302 for a storagesystem 300 configured for self-healing. The storage system 300 includesa magnetic storage medium 304 with a storage capacity 306. The storagecapacity 306 is initially mapped using the logical block addresses(LBAs) 308 and using a conventional magnetic recording (CMR) scheme. Afirst range 310 of the LBAs 308 is initially mapped to a first portion316 of the magnetic storage medium 304. A second range 312 is mapped toa second portion 314 of the storage medium 304. A defect 318 is detectedon the magnetic storage medium 304. The defect 318 compromises thestorage capacity 306. Specifically, a band of data tracks on the firstportion 316 of the magnetic storage medium 304 are unusable to storedata due to the defect, thus causing a loss in the storage capacity 306.In the illustrated example, the first portion 316 held (and the firstrange 310 of the LBAs 308 corresponded to) 1 TB of data. In response, ahost device or storage manager/controller (not shown) selects the secondportion 314 to convert to enhanced capacity recording scheme sectionsuch as shingled magnetic recording (SMR). The second portion 314, whenwritten using a conventional recording scheme stores, for example, 1 TBof data, but when converted to an SMR portion stores 2 TB of data toaccount for the 1 TB of data loss in the first portion 316. It should beunderstood that such capacities are for illustrative purposes. Beforethe second portion 314 is converted to the enhanced capacity recordingscheme, data corresponding to the second range 312 of LBA blocks is readto a cache (not shown) then written back to the second portion 314 usingthe enhanced capacity recording scheme.

If data is readable in the first portion 316, the data may be read to acache then rewritten to the second portion 314 or another location onthe magnetic storage medium 304. Furthermore, the first range 310 of theLBAs 308 that was associated with the first portion 316 may be remappedto the second portion 314, which has been converted to an enhancedcapacity recording section. Because the second portion 314 is convertedto an SMR portion, the storage capacity 306 represented by the LBAs 308is maintained. In some circumstances, data on the defective media maynot be readable, in whole or in part.

Some example devices utilize zoned block scheme for LBA space for mediastoring data according to a SMR scheme. In such implementations, LBAspace is divided into independent zones. For example, the first range310 of LBA corresponds to one or more zones and the second range 312corresponds to a different one or more zones. After the second portion314 of the storage media is converted to the enhanced capacity scheme,the first range 310 of LBAs and/or the second range 312 LBAs maytransition to an unwritten state such as an “empty” state.

FIG. 4 illustrates another example storage system 400 configured forself-healing. Specifically, FIG. 4 illustrates self-healing in a discdrive 402 including a plurality (e.g., platter) of discs (e.g., a disc404, 406, 408, and 410). The illustrated failure domain is disc 404,meaning that the entire disc 404 or a surface (e.g., bottom or topsurface) of the disc 404 is defective. To accommodate the lost capacityin the disc drive 402, a portion of the remaining discs (e.g., the discs406, 408, and 410) are converted to an enhanced capacity recordingscheme (e.g., SMR). For example, a portion 412 of the disc 406 isconverted to SMR. Portions of the disc 408 and 410 are similarlyconverted to SMR to provide the lost capacity. The LBA mapping schemesdescribed above with respect to FIG. 2 and FIG. 3 may be similarlyutilized to map the self-healing storage system 400.

FIG. 5 illustrates another example storage system 500 configured forself-healing. In FIG. 5, the storage system 500 is a datastore such as aJBOD, array of discs, server, storage rack, a set of racks, or any otherpredefined storage capacity presented to host controller (not shown) asa storage unit or a storage ecosystem. Specifically, FIG. 5 illustratesself-healing, as described in FIGS. 1-3 across a plurality of storagemediums and storage devices (e.g., storage devices 506). The storagedevices 506 may include a number of disc arrays, hard disc drives, SSDs,etc. Each of the storage devices 506 may include a respective storagecontroller, flash or other non-volatile cache, volatile cache, etc.

The storage system 500 includes a software/hardware stack 512 thatincludes a storage controller 502 and a storage manager 504. The storagemanager 504 is an active system which monitors data track and drivehealth to make drive state recommendations to the storage controller 502upstream or initiate a conversion process unilaterally. Inimplementations, the storage manager 504 manages logical block addresses(LBAs) of the storage capacity and manages mappings of LBAs to physicalspace before, during, and after media conversion. The remapping of LBAspace may be hidden from the storage controller 502 or the storagecontroller 502 may hide the mapping from a host device (not shown).

In the illustrated implementation, a capacity of the storage system isrepresented by logical block addresses (LBAs) 508 aggregated by a RAIDcontroller or a logical volume manager, for example. The storage systemholds 50 TB of data, as represented by the LBAs 508. As such, each ofthe storage devices 506 may hold 10 TB of data, when storing dataaccording to a conventional recording method. 10 TB of the 50 TB ismapped to a storage device 510, as illustrated in the LBAs 508. However,a defect or failure is detected in the storage device 510, and media for10 TB of capacity originally mapped to the storage device 510 is lost.The storage manager 504 or storage controller 502 selects a portion ofeach of the remaining storage devices 506 to convert to an enhancedcapacity recording scheme such as SMR. Thus, the 10 TB of lost capacitymay be realized across multiple devices. In the illustratedimplementation, 2.5 TB of additional capacity is provisioned to each ofthe remaining storage devices 506, which have portions converted to theenhanced capacity recording scheme to provide the additional 2.5 TB ofcapacity. Spreading the lost capacity across a number of differentdrives generally avoids performance issues that may be present whenutilizing fewer drives to account for lost capacity. This notion isbetter understood with respect to a storage system that includes, forexample, 100 storage devices. If one storage device of the 100 storagedevices fails, then 1% of the storage capacity is lost (assuming all 100devices are the same size, but it should be understood that in someimplementations, the devices are not all the same size). The other 99storage devices may be used to account for 1/99th of the lost capacity(e.g., 1/99th of the 1% capacity loss). Thus, a small portion of each ofthe 99 storage devices is converted to an enhanced capacity recordingscheme to provide the additional capacity. Thus, a performance hit forconversion may not be (or may barely be) visible to a host. In otherwords, performance parity after a drive failure may be substantiallymaintained.

In some implementation, each of the storage devices 506 is representedby a separate LBA space. In such implementations, the LBA space for eachdevice that has media converted may be remapped as described above withrespect to FIGS. 2-4. It should be understood that other storagestandards are contemplated. For example, in a small computer systeminterface (SCSI) device, the LBA space for each device is a separatelogical unit number (LUN) or target.

In some implementations, a subset of the remaining storage devices 506(instead of all remaining drives) may be selected to convert (e.g.,partially) to an enhanced capacity recording scheme. The selection ofstorage devices to convert may depend on a number of factors including,without limitation, latency of data, read heat, write heat, type ofdata, location, etc. For example, if a storage device has a high readheat but a low write heat, then such a storage device may be ideal forconverting to an SMR media since data tracks of an SMR media arerandomly readable but not randomly writable. In contrast, a device thathas a high write heat may not be ideal for conversion since writing toan SMR medium has a higher performance cost. As such, 5 TB of the 10 TBof logical space lost in FIG. 5 may be provisioned to a single remainingstorage device while 2.5 TB of lost capacity may be provisioned two ofthe other remaining storage device. One of the remaining storage devicesmay not be converted. Other distributions are contemplated.

For selection of devices for conversion based on command latency, alatency metric may be utilized. For example, each storage device 506 mayhave a command latency associated described by a cumulative distributionfunction (cdf). A percentage threshold may be used to determine whichdrives to select for conversion. Each drive may be scored at 99% of thecdf (e.g., determine what is the command response time for 99% of thecommands to each drive). For example, a storage device A may have a 99%command response time of 120 ms, a storage device B may have a 99%command response time of 80 ms, and storage device C may have a commandresponse time of 100 ms. The storage devices with the faster latency areable to accommodate more requests and the resulting impact on latencyand are thus selected for conversion. Accordingly, storage devices B andC in the above example may be selected for conversion. The selection ofmedia for conversion may also account for predicted future latency. Inthe above described example, a predicted future latency for each of thestorage device A, B, and C may be determined based on the type of data,temperature of the data, and amount/type/temperature of data and/ormedia to be converted. Furthermore, the amount of media to convert foreach storage device B and C may depend on their respective latency.Accordingly, storage device B may convert more media to enhancedcapacity than storage device C because storage device B had a faster 99%latency (80 ms) than the storage device C (100 ms).

A metric may also relate to data temperature. For example, storagedevices that store a threshold amount of “cold data” may be selected formedia conversion. Cold data is data that is infrequently (or notrecently) accessed. Thus, a device storing an amount of cold data may beideal for media conversion such as to avoid performance degradation. Incontrast, a storage device that stores an amount of “hot data,” or datathat is frequently/recently accessed may be avoided for mediaconversion. In some implementations, after a media is converted, anycold data may be archived at the converted portion of the storage media,particularly when the converted portion is preferred for cold datastorage and not preferred for hot data storage. For instance, cold datamay be archived on the media converted to SMR.

In some implementations, the selection of storage devices for conversionmay depend on the type of data within each device. For example, bootdata or system data may be stored a single storage device. Because ofthe importance of the boot or system data, such a device may not beconverted to a high capacity media. In some implementations, the storagecontroller 502 or storage manager 504 may store customer specificinformation. For example, a customer A using the storage system 500 maypay for high performance than another customer B. If a device failure(e.g., defect) occurs in the storage system, then any storage devicewith the high-performance customer's (customer A) data may not beselected for conversion. Rather, conversion may be directed to devicesstoring customer B data (e.g., not paying for the higher performance).

The information (e.g., read/write heat, latency, data type) may belogged by the storage devices 506 and communicated to the storagemanager 504. The storage manager 504 (or the storage controller 502) mayutilize the information to select storage devices for conversion after adefect is detected. Furthermore, read heat/write heat, data heat, etc.may be managed in a heat map, flash translation layer (FTL), etc. Theabove described selection criteria may be utilized across multipledevices, across a media surface (e.g., on a single disc), on an SSD, orany combination thereof.

If a defect is detected in the storage device 510 that affects only aportion of the storage device 510, then the lost capacity may beaccommodated within the storage device 510 itself as described abovewith respect to FIG. 4. For example, if the storage device 510 detects adefect that cause a 50 GB loss of capacity. Then the storage device 510may convert a portion of its storage media to an enhanced capacityrecording scheme to account for the lost 50 GB of data. Similarly, thecapacity lost due to the defect in the portion of the storage device 510may be allocated across multiple devices.

The mapping schemes described in FIGS. 2-3 may be utilized to map thecapacity of the storage system 500. As such, instead of flat LBA map(e.g., the LBAs 508), one set of LBAs may be utilized to map thecapacity of the storage system 500 using the conventional recordingscheme and another set of LBAs may be utilized to map the capacity ofthe storage system using the enhanced capacity recording scheme.

A media cache may be designated on one or more of the storage devices506 for overprovisioning and random write absorption for performance. Assuch, when media of one or more of the storage devices 506 are selectedfor conversion, the media caches may be used for a staging area forconversion as well as for absorbing random writes to the convertedmedia. It should be understood that a media cache from a storage devicedifferent from the one being converted may be utilized.

Media conversion may be performed when the media is taken off-line,during host idle times, device idle times, etc. In some implementations,media conversion may be amortized over time and performed in steps. Insuch implementations, a region map may be used to that maps the entirerecording space that keeps tracks of offline storage areas that arebeing converted. In some implementations, a device (e.g., one of thestorage device 506), storage controller 502, storage manager 504, etc.may request idle time to perform the conversion operations. A devicehealth log may log triggers of all media conversions, power on hours atwhich conversions occur, etc. to keep track of the health of the storagesystem 500. It should be understood that media conversion mayalternatively or additionally be performed when the device/media isonline and not idle.

FIG. 6 illustrates another example storage system 600 configured forself-healing. Specifically, FIG. 6 illustrates a solid-state drive (SSD)602. The SSD 602 includes a SSD controller 620 that is configured todirect host (not shown) read and write requests to one or more readwrite units (e.g., a R/W unit 604 and a R/W unit 606) which serverespective memory blocks (e.g., memory blocks 608 and 610). The memoryblocks 608 and 610 include a number of cells (e.g., a cell 614) thatstore bits of user data. The SSD 602 may capable of multi-level cell(MLC) storage, which means that each cell of the memory block 608 and610 may be used to store more than one bit of data. The number of bitsper cell may depend on the “programming mode” of the SSD 602. Theprogramming mode may be controlled by the SSD controller 620 or a hostdevice.

In FIG. 6, a defect 612 is detect that affects a storage capacity of theSSD 602. For example, a plurality of cells may be rendered unusable tostore data due to defects in the memory cells. The defects may be due todegradation of the memory cells due to a large amount ofreads/writes/erasures directed to such cells, or simply infantmortality. In order to maintain a storage capacity presented to thehost, a portion of the memory block 610 a is converted from a lowcapacity recording scheme (e.g., 1 bit per cell) to a higher/enhancedcapacity recording scheme (e.g., 2 bits per cell), as illustrated in thememory block 610 b. A LBA mapping scheme (as illustrated and describedabove with respect to FIGS. 1-4) may be utilized to map usable space inthe SSD 602. The LBA mapping scheme may utilize 1 or more LBA ranges tomap space according to a low capacity scheme and a higher capacityscheme. It should be understood that the media conversion illustrated inFIG. 6 may be utilized in a flash media such as a flash included in ahard disc drive (HDD).

It should be understood that a defect may affect an entire block (e.g.,block 608) a portion of a block, a more than one block. It suchcircumstances, a portion of one or more blocks (e.g., block 610 a) maybe selected for media conversion to accommodate lost capacity due to theaffected block or blocks.

FIG. 7 illustrates example operations 700 for self-healing in a storagesystem. The operations 700 may be performed by one or more storagecontrollers, managers, etc. which may be embodied in hardware orsoftware and executing processor-executable instructions stored in astorage medium. A detecting operation 702 detects a defect in a storagesystem causing a loss in physical storage capacity in the storagesystem. The defect may be the result of unreadable/unrecoverable data,noisy data, etc. in a sector, portion, radial stroke, storage block,etc. of one or more storage media such as one or more magnetic storagediscs, SSD blocks, storage devices (e.g., a drive, JBOD). A determiningoperation 704 determines an amount of loss in physical storage capacity.An analyzing operation 706 analyzes one or more storage media of thestorage system. Such analysis may include accessing log files, accessingdata heat maps, accessing flash translation layers (FTL), etc.

A determining operation 708 determines one or more parameters of the oneor more storage media of the storage system. The parameters may includeread heat, write heat, latency, type of data, customer data location,etc. Furthermore, the determining operation 708 may determine one ormore conversion criterions (e.g., thresholds) such as latency, readheat, write heat, etc. A determining operation 710 determines whetherthe determine parameters satisfy a conversion criterion. The conversioncriterion may be based on a latency threshold, read/write heatthreshold, amount of data/media to convert relative to the amount ofdata lost, etc. If parameters of a storage medium satisfy a conversioncriterion, then a selecting operation 712 selects the storage medium formedia conversion. If the parameters do not satisfy a conversioncriterion (e.g., write heat is too high), then the process returns tothe determining operation 708, which determines the one or moreparameters of the one or more storage media of the storage system.

After the selecting operation 712, another determining operation 714determines whether the amount of loss in the physical/logical capacitydue to the defect is accounted for when the selected storage medium(s)are converted. If not, then the process returns to the determiningoperation 708. If the amount of loss is accounted for, then a convertingoperation 716 converts the selected storage medium(s) from a firstrecording scheme to a second recording scheme. The second recordingscheme has a substantially higher storage density than the firstrecording scheme. In some implementations, the first recording scheme isa conventional magnetic recording (CMR) scheme, and the second recordingscheme is one of shingled magnetic recording (SMR) and interlacedmagnetic recording (IMR). In the same or other implementations, thestorage medium is one or more SSD blocks, and the second recordingscheme corresponds to more bits per cell than the first recordingscheme.

A remapping operation 718 remaps an LBA space corresponding to a logicalcapacity of the storage system to account for the converted storagemedium(s). In some implementations, the LBA space is a flat map, and themapping operation includes remapping one or more LBAs to the convertedphysical medium(s). In some implementations, the LBA space is includes afirst LBA range directed to the storage media when storing dataaccording to the first recording scheme and a second LBA range directedto the storage media when storing data according to the second recordingscheme. In such an implementation, the remapping operation includes thestorage controller using the second LBA range after the conversion ofthe media.

FIG. 8 illustrates example operations 800 for media conversion forself-healing in a storage system. The operations 800 may be performed byone or more storage controllers, managers, etc. which may be embodied inhardware or software and executing processor-executable instructionsstored in a processor-executable storage medium. A detecting operation802 detects a defect in a storage system causing a loss in physicalstorage capacity in the storage system. A selecting operation 804selects a portion one or more storage media in the storage system toconvert from a first recording scheme to a second recording scheme. Areading operation 806 reads data of the selected portion of the one ormore storage media. A writing operation 808 writes the read data to acache. The cache may be a media cache on the media being converted, amedia cache on a separate storage media, an SSD or other volatile ornon-volatile cache, etc. A reading operation 812 reads the data from thecache. A writing operation 812 writes the data to the selected on ormore storage media according to the second recording scheme.

The operations 800 may be performed when the media is taken off-line,during host idle times, device idle times, etc. In some implementations,the conversion operations 800 may be amortized over time and performedin steps. In such implementations, a region map may be used to that mapsthe entire recording space that keeps tracks of offline storage areasthat are being converted. In some implementations, a device, storagecontroller, etc. may request idle time to perform the conversionoperations 800.

The above described implementations are described with respect to one ormore storage medias (e.g., disc or flash), one or more storage devices(e.g., HDD, SSD, RAID, JBOD), one or more failure domains (e.g., portionof a disc, a disc surface, entire disc, entire device). It should beunderstood that the self-healing operations and implementations may beimplemented in separate storage mediums, across mediums, across devices,etc. Furthermore, mapping schemes may be utilized in separate storagemediums, across mediums, across devices, etc.

FIG. 9 illustrates example operations 900 for utilizing a mapping schemefor media conversion. A mapping operation 900 maps a first range oflogical block addresses (LBAs) to one or more storage media of a storagesystem. The first range of LBAs correspond to the one or more storagemedia storing data according to the first recording scheme. In otherwords, the first LBAs represent the storage capacity of the storagesystem when storing data according to the first recording scheme. Asecond mapping operation 904 maps a second range of LBAs to the one ormore storage media of the storage system. The second range of LBAscorrespond to the one or more storage media storing data according to asecond recording scheme. In implementations where the second recordingscheme stores data at higher storage density than the first recordingscheme, the second range of LBAs represents a larger storage capacity ofthe storage system than the first recording scheme. For example, if theone or more storage media store 10 TB of data when data is storedaccording to the first recording scheme, the one or more storage mediamay store 12 TB when data is stored according to the second recordingscheme. The corresponding LBA ranges represent the difference in storagecapacity.

Furthermore, a portion of the storage media may have a corresponding LBAin the first range representing the portion storing data according thefirst recording scheme and a corresponding LBA in the second range ofLBAs representing the portion storing data according to the secondrecording scheme. When data is stored in the portion according to thefirst recording scheme, the corresponding LBA in the first range of LBAsis utilized to read or rewrite such data. When data is stored in theportion according to the second recording scheme, the corresponding LBAin the second range of BLAs is utilized to read or rewrite such data. Itshould be understood that the mapping scheme described above may beutilized without regard to detection of a defect or self-healing. Inother words, the mapping scheme may be utilized in any storage systemstoring data according to two or more recording schemes.

A detecting operation 906 detects a defect in the storage system causinga loss in physical storage capacity in the storage system. A selectingoperation 908 selects a portion of the one or more storage media toconvert form the first recording scheme to the second recording scheme.Data in the selected portion is mapped using one or more LBAs of thefirst range of LBAs. A converting operation 910 converts the selectionportion from the first recording scheme to the second recording scheme.A mapping operation 910 maps the data of the converted portion to one ormore LBAs of the second range of LBAs. Accordingly, when one or moreread/writes are directed to the converted portion, the one or more LBAsmapped to such portions are utilized. The operations 900 and the mappingscheme described may be managed by a storage controller, storagemanager, etc.

FIG. 10 illustrates an example schematic 1000 of a storage controller1008 of a storage device 1010. Specifically, FIG. 10 shows one or morefunctional circuits that are resident on a printed circuit board used tocontrol the operation of the storage device. The storage controller 1008is operably and communicatively connected to a host computer 1002.Control communication paths are provided between the host computer 1002and a processor 1004. Control communication paths are provided betweenthe processor 1004 and the storage media 1020 via a number of read/writechannels (e.g., read and write channel 1022). The processor 1004generally provides top-level communication and control for thecontroller 1008 in conjunction with processor readable instructions forthe processor 1004 encoded in processor readable storage media 1006. Theprocessor readable instructions comprise instructions for controllingwriting to and reading from data sectors on a storage media 1020. Theprocessor readable instructions further include instructions forself-healing in the storage media 1020 and instructions for determiningdefects, writing data using one or more recording schemes (e.g., CMR,SMR, IMR), storing or maintaining LBA space, converting between LBAranges, determining/tracking latency, read heat, write heat, determiningamount of media to select for media conversion, etc.

The term “processor readable storage media” includes but is not limitedto, random access memory (“RAM”), ROM, EEPROM, flash memory or othermemory technology, CDROM, digital versatile discs (DVD) or other opticaldisc storage, magnetic cassettes, magnetic tape, magnetic disc storageor other magnetic storage devices, or any other tangible medium whichcan be used to store the desired information and which can be accessedby a processor. In contrast to tangible processor-readable storagemedia, intangible processor-readable communication signals may embodyprocessor readable instructions, data structures, program modules orother data resident in a modulated data signal, such as a carrier waveor other signal transport mechanism. Note that while, the system formanagement of system files on a storage device is disclosed herein incontext of an HDD, one or more aspects the technology disclosed hereinmay also be applicable to other storage devices enumerated above.

The storage controller 1008 controls storage of data on the storagemedia 1020 such as magnetic disc, optical discs, etc. A spindle motorcontrol circuit 1012 controls the rotation of storage media 1020. Aservo circuit 1014 provides control for moving an actuator that movesheads (not shown) between tracks on the storage media 1020 and controlsthe position of the head.

Other configurations of storage controller 1008 are contemplated. Forexample, storage controller 1008 may include one or more of an interfacecircuitry, a buffer, a disc drive, associated device peripheralhardware, an encryption unit, a compression unit etc. The processorreadable instructions may be included on the host computer 1002 or thestorage device 1010 (e.g., the memory 1006).

In addition to methods, the embodiments of the technology describedherein can be implemented as logical steps in one or more computersystems. The logical operations of the present technology can beimplemented (1) as a sequence of processor-implemented steps executingin one or more computer systems and/or (2) as interconnected machine orcircuit modules within one or more computer systems. Implementation is amatter of choice, dependent on the performance requirements of thecomputer system implementing the technology. Accordingly, the logicaloperations of the technology described herein are referred to variouslyas operations, steps, objects, or modules. Furthermore, it should beunderstood that logical operations may be performed in any order, unlessexplicitly claimed otherwise or unless a specific order is inherentlynecessitated by the claim language.

Data storage and/or memory may be embodied by various types of storage,such as hard disc media, a storage array containing multiple storagedevices, optical media, solid-state drive technology, ROM, RAM, andother technology. The operations may be implemented in firmware,software, hard-wired circuitry, gate array technology and othertechnologies, whether executed or assisted by a microprocessor, amicroprocessor core, a microcontroller, special purpose circuitry, orother processing technologies. It should be understood that a writecontroller, a storage controller, data write circuitry, data read andrecovery circuitry, a sorting module, and other functional modules of adata storage system may include or work in concert with a processor forprocessing processor-readable instructions for performing asystem-implemented process.

For purposes of this description and meaning of the claims, the term“memory” means a tangible data storage device, including non-volatilememories (such as flash memory and the like) and volatile memories (suchas dynamic random access memory and the like). The computer instructionseither permanently or temporarily reside in the memory, along with otherinformation such as data, virtual mappings, operating systems,applications, and the like that are accessed by a computer processor toperform the desired functionality. The term “memory” expressly does notinclude a transitory medium such as a carrier signal, but the computerinstructions can be transferred to the memory wirelessly.

The above specification, examples, and data provide a completedescription of the structure and use of example embodiments of thedisclosed technology. Since many embodiments of the disclosed technologycan be made without departing from the spirit and scope of the disclosedtechnology, the disclosed technology resides in the claims hereinafterappended. Furthermore, structural features of the different embodimentsmay be combined in yet another embodiment without departing from therecited claims.

What is claimed is:
 1. A method comprising: detecting a defect in astorage system causing a loss in physical storage capacity of thestorage system, the storage system including a storage media storingdata according to a first recording scheme; and responsive to detectingthe defect, converting at least a portion of the storage media to storedata according to a second recording scheme, the second recording schemestoring data at a substantially higher storage density than a storagedensity of the first recording scheme.
 2. The method of claim 1 whereinthe storage system is characterized by a logical storage capacity andconverting at least the portion of the storage media to store dataaccording to the second recording scheme further comprises selecting asize of the portion of the storage media and the second recording schemeto substantially maintain the logical storage capacity of the storagesystem.
 3. The method of claim 1 wherein the storage media is at leastone magnetic disc and the first recording scheme is a conventionalmagnetic recording (CMR) scheme and the second recording scheme is oneof shingled magnetic recording (SMR) and interlaced magnetic recording(IMR).
 4. The method of claim 1 wherein the storage system includes aplurality of disc drives, the defect causing the loss in physicalstorage capacity in at least a first disc drive of the plurality of discdrives and the converting operation further comprises: rewriting atleast a portion of a second disc drive of the plurality of disc drivesusing the second recording scheme.
 5. The method of claim 1 wherein thestorage system includes an SSD wherein the converting operation furthercomprises: rewriting at least a block of the SSD using the secondrecording scheme, the second recording scheme utilizing more bits percell in the block compared to the first recording scheme.
 6. The methodof claim 1 further comprising: determining latency in one or morestorage media of the storage system; and selecting the portion of thestorage media to store data according to the second recording schemebased on the determined latency.
 7. The method of claim 1, furthercomprising: determining at least one of read heat and write heat of datain the storage media; and selecting the portion of the storage media tostore data according to the second recording scheme based on thedetermined read heat or write heat.
 8. The method of claim 1 wherein alogical storage capacity of the storage system corresponds to aplurality of logical block addresses (LBAs), the method furthercomprising: remapping at least one of the plurality LBAs to account forthe converted portion of the storage media.
 9. The method of claim 1wherein a first plurality of logical block addresses (LBAs) correspondto a logical capacity of the storage media storing data according to thefirst recording scheme and a second plurality of logical block addresses(LBAs) correspond to the storage media storing data according to thesecond recording scheme.
 10. One or more processor-readable storagemedia encoding processor-executable instructions for executing on acomputer system a computer process, the computer process comprising:detecting a defect in a storage system causing a loss in physicalstorage capacity of the storage system, the storage system including astorage media storing data according to a first recording scheme; andresponsive to detecting the defect, converting at least a portion of thestorage media to store data according to a second recording scheme, thesecond recording scheme storing data at a substantially higher storagedensity than a storage density of the first recording scheme.
 11. Theone or more processor-readable storage media of claim 10 wherein thestorage system is characterized by a logical storage capacity andconverting at least the portion of the storage media to the secondrecording scheme further comprises selecting a size of the portion ofthe storage media and the second recording scheme to substantiallymaintain the logical storage capacity of the storage system.
 12. The oneor more processor-readable storage media of claim 10 wherein the storagemedia is at least one magnetic disc and the first recording scheme is aconventional magnetic recording (CMR) scheme and the second recordingscheme is one of shingled magnetic recording (SMR) and interlacedmagnetic recording (IMR).
 13. The one or more processor-readable storagemedia of claim 10 wherein the storage system includes a plurality ofdisc drives, the defect causing the loss in physical storage capacity inat least a first disc drive of the plurality of disc drives and theconverting operation further comprises: rewriting at least a portion asecond disc drive of the plurality of disc drives using the secondrecording scheme.
 14. The one or more processor-readable storage mediaof claim 10 wherein the storage system includes an SSD wherein theconverting operation further comprises: rewriting at least a block ofthe SSD using the second recording scheme, the second recording schemeutilizing more bits per cell in the block compared to the firstrecording scheme.
 15. The one or more processor-readable storage mediaof claim 10 further comprising: determining latency in one or morestorage media of the storage system; and selecting the portion of thestorage media to store data according to the second recording schemebased on the determined latency.
 16. The one or more processor-readablestorage media of claim 10 further comprising: determining at least oneof read heat and write heat of data in the storage media; and selectingthe portion of the storage media to store data according to the secondrecording scheme based on the determined read heat or write heat. 17.The one or more processor-readable storage media of claim 10 wherein alogical storage capacity corresponds to plurality of logical blockaddresses (LBAs), the process further comprising: remapping at least oneof the plurality of LBAs to account for the converted portion of thestorage media.
 18. The one or more processor-readable storage media ofclaim 10 wherein a first plurality of logical block addresses (LBAs)correspond to a logical capacity of the storage media storing dataaccording to the first recording scheme and a second plurality oflogical block addresses (LBAs) correspond to the storage media storingdata according to the second recording scheme.
 19. A storage systemcomprising: at least one storage medium storing data according to afirst recording scheme; and a storage controller configured to: detect adefect in the storage system causing a loss in physical storage capacityof the storage system; and responsive to detecting the defect,converting at least a portion of the at least one storage medium tostore data according to a second recording scheme, the second recordingscheme storing data at a substantially higher storage density than astorage density of the first recording scheme.
 20. The storage system ofclaim 19 wherein the storage medium is a magnetic disc and the firstrecording scheme is a conventional magnetic recording (CMR) scheme andthe second recording scheme is one of shingled magnetic recording (SMR)and interlaced magnetic recording (IMR).